package shujia.day06.bao2;
/*
    返回值类型
        基本类型: 当基本数据类型作为方法的返回值类型的时候，方法结束后，返回对应类型的数值
        引用类型:
            类：当开发时一个方法的返回值类型是一个类的时候，方法中要返回该类或者该类的子类对象
            抽象类：当开发时一个方法的返回值类型是一个抽象类的时候，方法中要返回该抽象类具体的子类对象
            接口：

 */
abstract class Student2{
    public abstract void fun1();
}

class Student2Zi extends Student2{
    @Override
    public void fun1() {
        System.out.println("好好学习");
    }
}

class Test2{
    //将来调用别人写好的方法，发现返回值类型如果是抽象类的话，说明返回的是该抽象类的具体子类对象
    public Student2 show1(){
        return new Student2Zi();
    }

    public int sum1(){
        return 10+20;
    }
}

public class StudentDemo2 {
    public static void main(String[] args) {
        Test2 test2 = new Test2();
//        Student2 s1 = test2.show1(); //Student2 s1 = new Student2Zi()
//        s1.fun1();
//
//        test2.show1().fun1();

//        test2.sum1()
    }
}
